﻿using System;
using UnityEngine;
using Object = UnityEngine.Object;

namespace GxFramework
{
    public delegate void AssetDelegate(AbAssetRequest request);
    public interface IAssetInfo
    {
        string path { get; }
        int refCount { get; }
        bool isDone { get; }
    }
    public interface IAssetRequest
    {
        string path { get; }
        string assetName { get; }
        Type assetType { get; }
        bool isDone { get; }
        bool isSuccess { get; }
        bool isLoadAll { get; }
        Object[] allAssets { get; }
        Object asset { get; }
    }
    public interface IAssetHandler
    {
        void LoadAsset(string bundlePath, string assetName, Type assetType,AssetDelegate del);
        void LoadAllAssets(string bundlePath, Type assetType, AssetDelegate del);
        void Unload(string bundlePath);
    }
}